package com.lant.dao;

import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.lant.pojo.LantUser;
import com.lant.pojo.LantUserExample;

/**
 * @ClassName: LantUserDao
 * @Description: 用户表Dao层
 * @author YFL
 * @date 2020年4月12日
 */
public interface LantUserDao {

	/**
	 * @Title: countByExample
	 * @Description: 通过Example统计用户数量
	 * @param example
	 * @return 参数
	 * @return long 返回类型
	 * @author YFL
	 */
	long countByExample(LantUserExample example);

	/**
	 * @Title: deleteByExample
	 * @Description: 通过Example删除
	 * @param example
	 * @return 参数
	 * @return int 返回类型
	 * @author YFL
	 */
	int deleteByExample(LantUserExample example);

	/**
	 * @Title: deleteByPrimaryKey
	 * @Description: 主键删除
	 * @param id
	 * @return 参数
	 * @return int 返回类型
	 * @author YFL
	 */
	int deleteByPrimaryKey(Long id);

	/**
	 * @Title: insert
	 * @Description: 保存
	 * @param lantUser
	 * @return 参数
	 * @return int 返回类型
	 * @author YFL
	 */
	int insert(LantUser lantUser);

	/**
	 * @Title: insertSelective
	 * @Description: 选择保存
	 * @param lantUser
	 * @return 参数
	 * @return int 返回类型
	 * @author YFL
	 */
	int insertSelective(LantUser lantUser);

	/**
	 * @Title: selectByExample
	 * @Description: 条件查询
	 * @param example
	 * @return 参数
	 * @return List<LantUser> 返回类型
	 * @author YFL
	 */
	List<LantUser> selectByExample(LantUserExample example);

	/**
	 * @Title: selectByPrimaryKey
	 * @Description: 主键查询
	 * @param id
	 * @return 参数
	 * @return LantUser 返回类型
	 * @author YFL
	 */
	LantUser selectByPrimaryKey(Long id);

	/**
	 * @Title: updateByExampleSelective
	 * @Description: 通过Example条件更新
	 * @param lantUser
	 * @param example
	 * @return 参数
	 * @return int 返回类型
	 * @author YFL
	 */
	int updateByExampleSelective(@Param("lantUser") LantUser lantUser, @Param("example") LantUserExample example);

	/**
	 * @Title: updateByExample
	 * @Description: 通过Example更新
	 * @param lantUser
	 * @param example
	 * @return 参数
	 * @return int 返回类型
	 * @author YFL
	 */
	int updateByExample(@Param("lantUser") LantUser lantUser, @Param("example") LantUserExample example);

	/**
	 * @Title: updateByPrimaryKeySelective
	 * @Description: 通过主键条件更新
	 * @param lantUser
	 * @return 参数
	 * @return int 返回类型
	 * @author YFL
	 */
	int updateByPrimaryKeySelective(LantUser lantUser);

	/**
	 * @Title: updateByPrimaryKey
	 * @Description: 主键更新
	 * @param lantUser
	 * @return 参数
	 * @return int 返回类型
	 * @author YFL
	 */
	int updateByPrimaryKey(LantUser lantUser);
}